package zhongbo.java.air.dictionary.service;

import zhongbo.java.air.common.vo.PageVo;
import zhongbo.java.air.dictionary.model.entities.AlertZone;

/**
 * 禁飞区域法务接口
 *
 * @author WeiJin
 * @version 1.0
 * @date 2025/3/31 11:23
 */
public interface IAlertZoneService {

    /**
     * 保存禁飞区域信息到数据库
     *
     * @param alertZone 禁飞区域信息
     * @return 返回保存的禁飞区域信息
     */
    AlertZone saveAlertZone(AlertZone alertZone);

    /**
     * 根据id删除禁飞区域信息
     *
     * @param id id
     * @return 被删除的禁飞区域id
     */
    String delAlertZone(String id);

    /**
     * 修改禁飞区域信息
     *
     * @param alertZone 前端传递过来的修改信息
     * @return 修改后的禁飞区域信息
     */
    AlertZone modifyAlertZone(AlertZone alertZone);

    /**
     * 根据禁飞区域id查询禁飞区域信息
     *
     * @param id 禁飞区域id
     * @return 禁飞区域信息
     */
    AlertZone queryById(String id);

    /**
     * 分页查询禁飞区域信息
     *
     * @param pageNumber 页码
     * @param pageSize   每页记录数
     * @param zoneType   区域类型
     * @param orderBy    排序字段
     * @param orderType  排序类型，true升序 false降序
     * @return 禁飞区域分页信息
     */
    PageVo<AlertZone> pageAlertZone(Integer pageNumber, Integer pageSize, String zoneType,
                                    String orderBy, Boolean orderType);

    /**
     * 根据zoneCode区域业务编码查询禁飞区域信息
     *
     * @param code 区域业务编码
     * @return 存在返回 true 不存在返回false
     */
    AlertZone queryByZoneCode(String code);
}
